﻿using sqlsearcher.Models;
using sqlsearcher.Models.Services;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace sqlsearcher.Services.IService
{
    public interface ISearch
    {
        Tuple<bool, List<TreeMapInfo>> GetDataBases(ISqlDbUtils dbUtils);

        Tuple<bool, List<TreeMapInfo>> GetTables(ISqlDbUtils dbUtils, string db);

        Tuple<int, DataTable> GetCodeDetails(ISqlDbUtils dbUtils, string db, string value);

        string GetTableDesc(ISqlDbUtils dbUtils, string tbName, string dbName);

        Tuple<bool, List<TreeMapInfo>> GetColumns(ISqlDbUtils dbUtils, string db, string value);

        Tuple<int, DataTable> GetDetails(ISqlDbUtils dbUtils, string db, string value);

        Tuple<int, DataTable> GetDescs(ISqlDbUtils dbUtils, string db, string tb);

        DataTable GetTablesByDB(ISqlDbUtils dbUtils, string db);

        string GetTableDescSQL();

        DataTable GetDs(ISqlDbUtils dbUtils,string sql, string db);

        DataSet GetDataSets(ISqlDbUtils dbUtils, string sql, string db);
    }
}
